🎖️GitЯра🎖️
src/helpers/ui/SSD1306Display.cpp 890a2e2cffa98dea3ca88db3c3aba72ef23ff3f7 (890a2e2c) Text, 2.69 KB
Tff7b72#Tff7b72include T8b949e"SSD1306Display.h"
Tffa657bool Td2a8ffSSD1306Display::i2c_probeTb4b4b4(Te6edf3TwoWireTff7b72& Te6edf3wireTb4b4b4, Tffa657uint8_t Te6edf3addrTb4b4b4) Tb4b4b4{
Te6edf3wireTb4b4b4.Te6edf3beginTransmissionTb4b4b4(Te6edf3addrTb4b4b4)Tb4b4b4;
Tffa657uint8_t Te6edf3error Tff7b72= Te6edf3wireTb4b4b4.Te6edf3endTransmissionTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72return Tb4b4b4(Te6edf3error Tff7b72=Tff7b72= T79c0ff0Tb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e// Color scheme
Te6edf3ColorVal Te6edf3UIColorTff7b72:Tff7b72:Te6edf3window_bkg Tff7b72= Te6edf3SSD1306_BLACKTb4b4b4;
Te6edf3ColorVal Te6edf3UIColorTff7b72:Tff7b72:Te6edf3title_bkg Tff7b72= Te6edf3SSD1306_BLACKTb4b4b4;
Te6edf3ColorVal Te6edf3UIColorTff7b72:Tff7b72:Te6edf3title_txt Tff7b72= Te6edf3SSD1306_WHITETb4b4b4;
Te6edf3ColorVal Te6edf3UIColorTff7b72:Tff7b72:Te6edf3primary_txt Tff7b72= Te6edf3SSD1306_WHITETb4b4b4;
Te6edf3ColorVal Te6edf3UIColorTff7b72:Tff7b72:Te6edf3secondary_txt Tff7b72= Te6edf3SSD1306_WHITETb4b4b4;
Te6edf3ColorVal Te6edf3UIColorTff7b72:Tff7b72:Te6edf3warning_txt Tff7b72= Te6edf3SSD1306_WHITETb4b4b4;
Te6edf3ColorVal Te6edf3UIColorTff7b72:Tff7b72:Te6edf3popup_bkg Tff7b72= Te6edf3SSD1306_BLACKTb4b4b4;
Te6edf3ColorVal Te6edf3UIColorTff7b72:Tff7b72:Te6edf3popup_txt Tff7b72= Te6edf3SSD1306_WHITETb4b4b4;
Te6edf3ColorVal Te6edf3UIColorTff7b72:Tff7b72:Te6edf3corp_blue Tff7b72= Te6edf3SSD1306_WHITETb4b4b4;
Tffa657bool Td2a8ffSSD1306Display::beginTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3_isOnTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3_peripher_powerTb4b4b4) Te6edf3_peripher_powerTff7b72-Tff7b72>Te6edf3claimTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3_isOn Tff7b72= Tffa657trueTb4b4b4;
Tb4b4b4}
Tff7b72#Tff7b72ifdef DISPLAY_ROTATION
Te6edf3displayTb4b4b4.Te6edf3setRotationTb4b4b4(Te6edf3DISPLAY_ROTATIONTb4b4b4)Tb4b4b4;
Tff7b72#Tff7b72endif
Tff7b72return Te6edf3displayTb4b4b4.Te6edf3beginTb4b4b4(Te6edf3SSD1306_SWITCHCAPVCCTb4b4b4, Te6edf3DISPLAY_ADDRESSTb4b4b4, Tffa657trueTb4b4b4, Tffa657falseTb4b4b4) Tff7b72&Tff7b72& Te6edf3i2c_probeTb4b4b4(Te6edf3WireTb4b4b4, Te6edf3DISPLAY_ADDRESSTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657void Td2a8ffSSD1306Display::turnOnTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3_isOnTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3_peripher_powerTb4b4b4) Te6edf3_peripher_powerTff7b72-Tff7b72>Te6edf3claimTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3_isOn Tff7b72= Tffa657trueTb4b4b4; T8b949e// set before begin() to prevent double claim
Tff7b72if Tb4b4b4(Te6edf3_peripher_powerTb4b4b4) Te6edf3beginTb4b4b4(Tb4b4b4)Tb4b4b4; T8b949e// re-init display after power was cut
Tb4b4b4}
Te6edf3displayTb4b4b4.Te6edf3ssd1306_commandTb4b4b4(Te6edf3SSD1306_DISPLAYONTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657void Td2a8ffSSD1306Display::turnOffTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3displayTb4b4b4.Te6edf3ssd1306_commandTb4b4b4(Te6edf3SSD1306_DISPLAYOFFTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3_isOnTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3_peripher_powerTb4b4b4) Tb4b4b4{
Tff7b72#Tff7b72if PIN_OLED_RESET >= 0
Te6edf3digitalWriteTb4b4b4(Te6edf3PIN_OLED_RESETTb4b4b4, Te6edf3LOWTb4b4b4)Tb4b4b4;
Tff7b72#Tff7b72endif
Te6edf3_peripher_powerTff7b72-Tff7b72>Te6edf3releaseTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3_isOn Tff7b72= Tffa657falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tffa657void Td2a8ffSSD1306Display::clearTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3displayTb4b4b4.Te6edf3clearDisplayTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3displayTb4b4b4.Te6edf3displayTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657void Td2a8ffSSD1306Display::startFrameTb4b4b4(Te6edf3ColorVal Te6edf3bkgTb4b4b4) Tb4b4b4{
Te6edf3displayTb4b4b4.Te6edf3clearDisplayTb4b4b4(Tb4b4b4)Tb4b4b4; T8b949e// TODO: apply 'bkg'
Te6edf3_color Tff7b72= Te6edf3SSD1306_WHITETb4b4b4;
Te6edf3displayTb4b4b4.Te6edf3setTextColorTb4b4b4(Te6edf3_colorTb4b4b4)Tb4b4b4;
Te6edf3displayTb4b4b4.Te6edf3setTextSizeTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Te6edf3displayTb4b4b4.Te6edf3cp437Tb4b4b4(Tffa657trueTb4b4b4)Tb4b4b4; T8b949e// Use full 256 char 'Code Page 437' font
Tb4b4b4}
Tffa657void Td2a8ffSSD1306Display::setTextSizeTb4b4b4(Tffa657int Te6edf3szTb4b4b4) Tb4b4b4{
Te6edf3displayTb4b4b4.Te6edf3setTextSizeTb4b4b4(Te6edf3szTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657void Td2a8ffSSD1306Display::setColorTb4b4b4(Te6edf3ColorVal Te6edf3cTb4b4b4) Tb4b4b4{
Te6edf3_color Tff7b72= Te6edf3cTb4b4b4;
Te6edf3displayTb4b4b4.Te6edf3setTextColorTb4b4b4(Te6edf3_colorTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657void Td2a8ffSSD1306Display::setCursorTb4b4b4(Tffa657int Te6edf3xTb4b4b4, Tffa657int Te6edf3yTb4b4b4) Tb4b4b4{
Te6edf3displayTb4b4b4.Te6edf3setCursorTb4b4b4(Te6edf3xTb4b4b4, Te6edf3yTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657void Td2a8ffSSD1306Display::printTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3strTb4b4b4) Tb4b4b4{
Te6edf3displayTb4b4b4.Te6edf3printTb4b4b4(Te6edf3strTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657void Td2a8ffSSD1306Display::fillRectTb4b4b4(Tffa657int Te6edf3xTb4b4b4, Tffa657int Te6edf3yTb4b4b4, Tffa657int Te6edf3wTb4b4b4, Tffa657int Te6edf3hTb4b4b4) Tb4b4b4{
Te6edf3displayTb4b4b4.Te6edf3fillRectTb4b4b4(Te6edf3xTb4b4b4, Te6edf3yTb4b4b4, Te6edf3wTb4b4b4, Te6edf3hTb4b4b4, Te6edf3_colorTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657void Td2a8ffSSD1306Display::drawRectTb4b4b4(Tffa657int Te6edf3xTb4b4b4, Tffa657int Te6edf3yTb4b4b4, Tffa657int Te6edf3wTb4b4b4, Tffa657int Te6edf3hTb4b4b4) Tb4b4b4{
Te6edf3displayTb4b4b4.Te6edf3drawRectTb4b4b4(Te6edf3xTb4b4b4, Te6edf3yTb4b4b4, Te6edf3wTb4b4b4, Te6edf3hTb4b4b4, Te6edf3_colorTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657void Td2a8ffSSD1306Display::drawXbmTb4b4b4(Tffa657int Te6edf3xTb4b4b4, Tffa657int Te6edf3yTb4b4b4, Tff7b72const Tffa657uint8_tTff7b72* Te6edf3bitsTb4b4b4, Tffa657int Te6edf3wTb4b4b4, Tffa657int Te6edf3hTb4b4b4) Tb4b4b4{
Te6edf3displayTb4b4b4.Te6edf3drawBitmapTb4b4b4(Te6edf3xTb4b4b4, Te6edf3yTb4b4b4, Te6edf3bitsTb4b4b4, Te6edf3wTb4b4b4, Te6edf3hTb4b4b4, Te6edf3_colorTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657uint16_t Td2a8ffSSD1306Display::getTextWidthTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3strTb4b4b4) Tb4b4b4{
Tffa657int16_t Te6edf3x1Tb4b4b4, Te6edf3y1Tb4b4b4;
Tffa657uint16_t Te6edf3wTb4b4b4, Te6edf3hTb4b4b4;
Te6edf3displayTb4b4b4.Te6edf3getTextBoundsTb4b4b4(Te6edf3strTb4b4b4, T79c0ff0Tb4b4b4, T79c0ff0Tb4b4b4, Tff7b72&Te6edf3x1Tb4b4b4, Tff7b72&Te6edf3y1Tb4b4b4, Tff7b72&Te6edf3wTb4b4b4, Tff7b72&Te6edf3hTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3wTb4b4b4;
Tb4b4b4}
Tffa657void Td2a8ffSSD1306Display::endFrameTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3displayTb4b4b4.Te6edf3displayTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Served by rngit 1.5.1 - Generated in 0.07s